/*内核模板 作者:yywd_123
* 该文件定义了启动时引导传过来的结构体
*/

typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
typedef unsigned long long uint64_t;

typedef struct{
  uint64_t fbAddress;
  uint32_t *fb;

  uint32_t pitch;
  uint32_t Screen_width;
  uint32_t Screen_height;

  uint32_t BackGround_Color;
  uint32_t ForeGround_Color;
  uint32_t Cursor_x;
  uint32_t Cursor_y;
} VideoInfo;

typedef struct 
{
  unsigned long long Address;
  unsigned long long Size;
} LoadedFileInfo;

typedef struct
{
  uint32_t Type;
  uint32_t Reserved1;
  uint64_t PhysicalStart;
  uint64_t VirtualStart;
  uint64_t NumberOfPages;
  uint64_t Attribute;
  uint64_t Reserved2;
} MMAP;

typedef struct
{
  uint64_t memTotal;
} MemoryInfo;

typedef struct{
  VideoInfo Vinfo;

  LoadedFileInfo Files[6];
  uint8_t LoadedFileNum;

  MemoryInfo MemInfo;
} BootInfo;